#!/bin/bash

# 编码处理
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

# 颜色
RedColor='\033[31m'
GreenColor='\033[32m'
YellowColor='\033[33m'
DefaultColor='\033[0m'


# Spec仓库名称
SpecName=''
# Spec仓库地址
# SpecRemotePath=''
# 版本号
VersionNum=''
# 确认状态
ConfirmStatus='N'


# 输入Spec仓库名称
InputSpecName() {
    read -p "请输入Spec仓库名称: " SpecName
    # 字符串长度为0
    if test -z ${SpecName}
    then
        InputSpecName
    fi
}

# 输入Spec仓库地址
# InputSpecPath() {
#     read -p "请输入Spec仓库地址: " SpecRemotePath
#     # 字符串长度为0
#     if test -z ${SpecRemotePath}
#     then
#         InputSpecPath
#     fi
# }

# 输入版本号
InputVersionNum() {
    read -p "请输入版本号: " VersionNum
    # 字符串长度为0
    if test -z ${VersionNum}
    then
        InputVersionNum
    fi
}

# 检验输入内容
CheckInfomation() {
	SpecName=''
    # SpecRemotePath=''
    VersionNum=''
    
    InputSpecName
    # InputSpecPath
    InputVersionNum

    echo -e "\n${DefaultColor}================================================"
    echo -e "  Spec仓库名称：${RedColor}${SpecName}${DefaultColor}"
    # echo -e "  Spec仓库地址：${RedColor}${SpecRemotePath}${DefaultColor}"
    echo -e "  新版本号：${RedColor}${VersionNum}${DefaultColor}"
    echo -e "================================================\n"
}

# 循环检验
while [ ${ConfirmStatus} != "y" -a ${ConfirmStatus} != "Y" ] 
do
    if [ ${ConfirmStatus} == "n" -o ${ConfirmStatus} == "N" ]
    then 
        CheckInfomation
    fi
    read -p "确定? [Y/N]: " ConfirmStatus
done


# 项目Spec路径
ProjectSpecPath="./OCMediator.podspec"
# 获取项目最近的版本号
TmpStr="sed -n 3p ${ProjectSpecPath}"
VersionInSpec=$(${TmpStr})
# 定义项目新的版本号
VersionNew="  s.version      = \'${VersionNum}\'"
# 替换新的版本号
sed -i "" "s%${VersionInSpec}%${VersionNew}%g" "${ProjectSpecPath}"
# 需要转义字符串
# sed -i "" "s/${VersionInSpec}/${VersionNew}/g" "${ProjectSpecPath}"


# 添加spec本地库
# pod repo add ${SpecName} ${SpecRemotePath}

# pod install
# pod update --no-repo-update


# 提交代码
git add .
git commit -m "提交记录时间 : $(date +%Y%m%d_%H%M%S)"
# git commit -am "提交记录时间 : $(date +%Y%m%d_%H%M%S)"
git pull --rebase
# git push origin master -f 
git push -u origin master
# git push
# git tag xxx
# git push --tags


# 最新的Tag
# git tag ${VersionNum}
git tag -a ${VersionNum} -m"version ${VersionNum}"
# 查看Tag
git tag
# 提交
git push --tags

# 提交到私有库
pod repo push ${SpecName} OCMediator.podspec --verbose --allow-warnings --use-libraries --use-modular-headers


# 更新spec本地库
# pod repo update ${SpecName}
# pod update --no-repo-update

echo "Good luck for you!"

exit 0
